/* 
  目标： 使用Context来跨组价通信，让App组件-直接传数据给SonSon组件
*/

import React, { Component } from 'react';

// 1. 创建Context， 解构两个组价Provider Consumer
const { Provider, Consumer } = React.createContext();

export default class App extends Component {
  render() {
    return (
      // 2. 使用Provider包住子组件
      // 3. 给Provider组件设置value属性，传数据
      <Provider value="hello React">
        <div>
          <h1>父组件</h1>
          <Son></Son>
        </div>
      </Provider>
    );
  }
}

class Son extends Component {
  render() {
    return (
      <div>
        <h2> 儿子</h2>
        <SonSon></SonSon>
      </div>
    );
  }
}

class SonSon extends Component {
  render() {
    return (
      // 4. 使用Consumer组件接收数据

      <div>
        <h2> 孙子</h2>
        <Consumer>
          {(data) => {
            return <h1>123 - {data}</h1>;
          }}
        </Consumer>
      </div>
    );
  }
}
